Modern packet-switched networks accommodate a greater number of users and larger amount of traffic than ever before. Unfortunately, the services desired by users now require a much greater amount of bandwidth, while demanding near real-time service in many cases. Consider, for example, a typical user's experience with a mobile phone. While, several years ago, many users were content with voice-only service, many mobile phones now double as personal computers, providing access to streaming video, peer-to-peer applications, and other high bandwidth applications. Furthermore, non-mobile networks have also experienced a significant increase in traffic, as Voice Over Internet Protocol (VoIP), IP Television (IPTV), and similar services have gradually increased in popularity.
Service providers have struggled to keep pace with the ever-increasing bandwidth requirements. Given the significant expenses associated with adding additional equipment, service providers are reluctant to address this problem by simply increasing the capacity of the network. Instead, many service providers desire to decrease costs and simultaneously improve the user's quality of experience by optimizing the efficiency of data transfer over the network.
One such optimization relates to compression of headers associated with packets transferred over the network. In bandwidth-sensitive portions of the network, many service providers employ a header compression algorithm to decrease the amount of data sent over the network. As an example, this header compression may be implemented according to Request for Comments 2507, “IP Header Compression,” published by the Internet Engineering Task Force (IETF). More specifically, during an initialization phase, a node known as a compressor sends a full header including a context identifier, which identifies the flow associated with the packet. A node known as a decompressor receives the full header and stores the associated context identifier. Subsequently, the compressor may send a “compressed” version of the header, which includes the context identifier, but omits much of the information included in the uncompressed header. Because the decompressor maintains a record of the context identifier and associated header information, the decompressor may reconstruct the uncompressed header using the information contained in the compressed version.
Many such compressors implement line card redundancy (LCR) in an effort to cope with problems such as hardware failure. In these systems, two or more line cards operate in parallel on incoming packets. One line card is designated active, while the other is designated inactive. Only packets sent by the active line card are actually transmitted through the network, while packets transmitted by the inactive line card are simply dropped. In this manner, upon detecting a failure in the active card, the compressor may perform an LCR switch, changing the designations of the active card to inactive and the inactive card to active. Thereafter, the packets processed by the previously inactive card are transmitted.
Without sharing of context identifiers between the two line cards, however, it is likely that the line cards will assign two different context identifiers to the same flow. Thus, while the decompressor may have stored a correlation between a flow and the context identifier assigned by the active line card, upon an LCR switch, the compressor will begin sending compressed header packets carrying the context identifier assigned by the previously inactive line card. The decompressor will either drop these packets if it has no record of this new context identifier, or will attach the wrong complete header to the compressed header packets if this new context identifier was associated with a different flow by the previously active line card.
For the foregoing reasons and for further reasons that will be apparent to those of skill in the art upon reading and understanding this specification, there is a need for a method and system to ensure proper transmission and receipt of packets belonging to a compressed flow upon an LCR switch.